The present invention generally relates to methods and apparatuses for automatically generating internal representations, and more particularly to a method and apparatus for automatically generating appropriate internal representations of sensory information and motor information by automatically adjusting a sensory module characteristic and a motor module characteristic based on analysis results of a mutual dependency relationship between the sensory information and the motor information within a recognition and control system, where a state of a subject such as an object and environment, a state of the recognition and control system itself or, the relationship between the subject and the recognition and control system can be varied actively.
In this specification, the "internal representation" indicates sensory information such as sensor signals within the system and motor information such as control signals. In addition, the "recognition and control system" includes various kinds of robots, recognition systems, inspection systems, navigation systems for autonomous locomotion units or self-contained control units, tracking systems and the like, for example.
Conventionally, in order to make a robot carry out an operation, for example, a person first analyzes the operation, and a programming is made by assembling methods suited for the robot based on the results of the analysis. The robot which is programmed in this manner carries out the desired operation by executing the program.
The application range of the conventional robot is relatively limited because of the large restriction related to the operating environment and the operation content. For this reason, in order to increase the application range of the robot, it is necessary for the robot to have the capability of carrying out various kinds of tasks under various situations. However, it is extremely difficult for the person who designs the robot to predict in advance all of the possible situations the robot may face and to program the robot in advance to have the capability of coping with all of the predicted situations. The prediction of the possible situations and the programming of the robot are particularly difficult when the robot must carry out various tasks.
Accordingly, it is desirable for the robot to interact with the environment and to learn its behavior by itself, depending on the situation and the object of the task. It is possible to increase the application range of the robot if it becomes possible to carry out various kinds of tasks under various situations and to improve the operation efficiency thereof by such a self-learning process.
In order to realize a robot having the above described self-learning function, a low level learning process which stores a moving locus that is taught and, reproduces the stored moving locus, for example, is insufficient, and it is necessary to also carry out a high level learning process which can learn at the task level. But the conventional learning process at the task level in most cases simply carries out a computer simulation in an ideal environment, and not much consideration is given as to the application to the actual robot. The "ideal environment" indicates a world on a plane which is sectioned into lattices, for example. In the world on such a plane, a "state" corresponds to a lattice coordinate where the robot is located, and a "motor" (or "motion") corresponds to a movement from one lattice to another adjacent lattice above, below, to the right or left. In the ideal environment, the motor information of the robot and the state transition correspond one-to-one. In addition, since the levels of the state space and the motor space are low, it is possible to make the robot learn the behaviors for carrying out the task by carrying out a reinforcement learning process or the like.
However, the actual robot is not used in the ideal environment, and for this reason, there was a problem in that it is extremely difficult to form appropriate state space and motor space. In other words, it was extremely difficult to make the actual robot learn at the task level unless problems, such as how to represent the extremely large amount of sensory information in a compact state space and how to form a motor space that would correspond to the state space, are solved.
That is, an important problem to be solved in order to realize a recognition and control system was to generate appropriate internal representations of sensory information and control information of the recognition and control system.